home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Add-Ons / BBEdit / MacBob 1.0ß2 / Source / Bob / Compiler.h < prev    next >
Encoding:
Text File  |  1995-12-10  |  1.2 KB  |  56 lines  |  [TEXT/KAHL]

  1. /***
  2.   *
  3.   *    Compiler.h - bob compiler definitions
  4.   *
  5.   *    Original code: Copyright (c) 1991, by David Michael Betz.  All rights reserved
  6.   *    Modifications and additions: Copyright © by Christopher E. Hyde, 1995
  7.   *
  8.   ***/
  9.  
  10. enum {
  11.         // token definitions
  12.     kNoToken = -1, kEOF = 0,
  13.  
  14.         // non-character tokens
  15.     _kTokenMin = -64,
  16.  
  17.     kString = _kTokenMin, kIdentifier, kNumber,
  18.     kClass, kStatic, kIf, kElse,
  19.     kWhile, kReturn, kFor,
  20.     kBreak, kContinue, kDo,
  21.     kNew, kNil,
  22.  
  23. //    <=        ==      !=       >=
  24.     kLE, kEQ, kNE, kGE,
  25.  
  26. //    <<           >>        &&        ||
  27.     kSHL, kSHR, kAND, kOR,
  28.  
  29. //    ++          --           +=              -=
  30.     kINC, kDEC, kADDEQ, kSUBEQ,
  31.  
  32. //    *=              /=             %=            &=
  33.     kMULEQ, kDIVEQ, kREMEQ, kANDEQ,
  34.  
  35. //    |=              ^=             <<=            >>=
  36.     kOREQ, kXOREQ, kSHLEQ, kSHREQ,
  37.  
  38. //    ::          ->  or .
  39.     kCC, kMemRef,
  40.  
  41.     _kTokenLastPlus1,
  42.     _kTokenMax = _kTokenLastPlus1 - 1,
  43.     _kFirstKeyword = kClass,
  44.     _kLastKeyword = kNil,
  45.     kNumKeywords = _kLastKeyword - _kFirstKeyword + 1
  46. };
  47.  
  48.  
  49. inline void SaveToken (TToken t) {
  50.     extern TToken pSaveTkn;
  51.     pSaveTkn = t;
  52. }
  53.  
  54. extern SInt32    gTokVal;        // token value
  55. extern char*    gTokStr;        // token string
  56.